package $PACKAGE_NAME$.client;

import com.google.gwt.core.client.GWT;
import com.google.gwt.place.shared.PlaceController;
import com.google.web.bindery.event.shared.EventBus;
import com.google.web.bindery.event.shared.SimpleEventBus;
import $PACKAGE_NAME$.shared.$PROJECT_NAME_CLASS_NAME_COMPATIBLE$Service;
import $PACKAGE_NAME$.shared.$PROJECT_NAME_CLASS_NAME_COMPATIBLE$ServiceAsync;

public class ClientFactoryImpl implements ClientFactory {

  private final EventBus eventBus = new SimpleEventBus();

  private final PlaceController placeController = new PlaceController(eventBus);

  private static final $PROJECT_NAME_CLASS_NAME_COMPATIBLE$ServiceAsync SERVICE = GWT
      .create($PROJECT_NAME_CLASS_NAME_COMPATIBLE$Service.class);

  @Override
  public EventBus getEventBus() {
    return eventBus;
  }

  @Override
  public PlaceController getPlaceController() {
    return placeController;
  }

  @Override
  public $PROJECT_NAME_CLASS_NAME_COMPATIBLE$ServiceAsync getService() {
    return SERVICE;
  }

}
